package Demo03;

/**
 * @version 1.0
 * @author: jiazhihao
 * @date: 2021-05-11 09:47
 */
/** 面向对象特征之三多态性  Polymorghism
*
* 一：理解多态性：可以理解为一个事物的多种形态
* 二：何为多态性：对象的多态性  ,父类的引用执行子类的对象（子类的对象赋给父类的引用）；
*三： 多态的使用，虚拟方法调用
*       有了对象的多态以后我么在编译期 只能调用父类中的方法，但在执行器，我们实时执行的是子类重写父类的方法
*       总结：编译看左边 执行看右边
* 四：多态的使用前提：
* 1.要有类的继承关系
* 2.要有方法的重写
*
*
*
*
*
* */
public class Demo03 {
    public static void main(String[] args) {
        Person p1 = new Person();
        p1.eat();
        Man man = new Man();
        man.eat();
        man.age = 25;
        man.earnMoney();
//        ********************************************************************************
        // 多态性。  子类对象的多态性  ,父类的引用执行子类的对象
//        多态性 多种形态  子类重写父类的对象
        System.out.println("******************");
        Person  p2 = new Man();
        // 编译看左，执行看右
        Person p3 = new Woman();
        // 多态的使用  当调用子父类同名同参数的方法是，实行执行的是子类重写父类的方法    虚拟方法调用
        p2.eat();
        p2.walk();
//        p2.earnMoney();









    }

}
